Displaying always on display-related content

ABSTRACT

Systems and methods for displaying always-on content on a display of a mobile device allow the device to use a low power processor for certain always-on content and to coordinate with the device application processor for the remaining always-on content. In an embodiment, a pixel row-skip pattern is specified by the low power processor based on the display screen&#39;s resolution setting as well as ambient light conditions. In a further embodiment, the execution of pixel rendering in keeping with the prescribed pattern is synchronized between the device&#39;s low power processor and main application processor.

TECHNICAL FIELD

This application is a continuation of U.S. application Ser. No.14/460,546, filed Aug. 15, 2014, the entire contents of which are herebyincorporated by reference.

BACKGROUND

Mobile communication devices have become so powerful that they havedisplaced many traditional devices. For example, users of mobile devicesnow often utilize the device as a clock or watch rather than carrying aseparate traditional watch. As mobile communication devices take overthe functions of other devices, however, the frequency with which usersview their device screens has surged. For example, a user in a theatermay pull out his or her mobile communication device several times duringthe movie to check the time of day.

Frequent use such as this can cause a power drain on the device's powersource, e.g., its battery. At the same time, display-based techniquesfor conserving power have the potential to negatively impact the displayappearance to the user.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

While the appended claims set forth the features of the presenttechniques with particularity, these techniques, together with theirobjects and advantages, may be best understood from the followingdetailed description taken in conjunction with the accompanying drawingsof which:

FIG. 1 is a generalized schematic of an example device with respect towhich the presently disclosed innovations may be implemented;

FIG. 2A is a simplified display pixel row diagram showing rows of pixelwherein all rows are active;

FIG. 2B is a simplified display pixel row diagram showing rows of pixelwherein alternative rows are inactive in accordance with an embodimentof the disclosed principles;

FIG. 2C is a simplified display pixel row diagram showing rows of pixelwherein only every third row is active in accordance with an embodimentof the disclosed principles;

FIG. 3 is a simulated display on a device screen with a portion of thedisplay certain area in an always-on configuration;

FIG. 4 is a simplified device hardware schematic of a device usable inaccordance with various embodiments of the disclosed principles;

FIG. 5 is a flow chart showing an example process for updating at leasta portion of a device screen with reduced resolution during a sleep modeor other low power mode in accordance with an embodiment of thedisclosed principles; and

FIG. 6 is a flow chart showing an example process executed by the lowpower processor to ensure proper period and phase of kernel resources inaccordance with an embodiment of the disclosed principles.

DETAILED DESCRIPTION

The present disclosure is directed to a system that may eliminate someof the shortcomings noted in the Background section. It should beappreciated however that any such benefit is not necessarily alimitation on the scope of the disclosed principles or of the attachedclaims, except to the extent expressly noted in the claims. Beforepresenting a detailed discussion of embodiments of the disclosedprinciples, an overview of certain embodiments is given to aid thereader in approaching the later discussion. As noted above, as the useof mobile communications devices in lieu of traditional devicesincrease, the power drain of such devices can become substantial,especially if a device were to implement an always on display.

Always on display is a display mode wherein the display is always on andviewable for reference, e.g., as a clock. However, because display tasksare power intensive, a low power processor is used for display tasks inthe always-on mode. In an embodiment of the disclosed principles, whilea mobile device is operating in the low power mode, the device's lowpower processor senses certain triggering events and displays (draws tothe device display) specific pieces of content (hereinafter referred toas the first subset of always on-related content) via the device'sdisplay screen. Additionally, the device's application processor is usedto display, via the device's display screen, specific pieces of contentthat are complementary to the first subset of always on-related content(hereinafter referred to as the second subset of always on-relatedcontent).

The approaching implementation of higher resolution display screens willlead to an increase in processing times associated with rendering anddisplaying of always on-related content by the devices' low powerprocessor. This could, in turn, result in a degraded user experience.Various embodiments of the disclosed principles manipulate theresolution setting of the device display screens via context-aware meansto enhance the rendering and displaying of always on-related content.

By way of example, the low power processor of the device may dynamicallyconfigure the pixel patterns to be rendered on a mobile device's displayscreen based on the display screen's resolution setting as well as onambient light conditions. When using both the low power processor andthe application processor, execution of the pixel rendering issynchronized, in an embodiment, between the low power processor and theapplication processor.

Thus, upon determining the resolution of its display screen as well asthe ambient light level, a mobile communication device operating inaccordance with an embodiment of the disclosed principles dynamicallyconfigures a specific geometrical pattern of pixels (such as alternaterows of pixels, etc.) to be skipped, as related to the rendering of thefirst subset of always on-related content by the low power processor.The same pattern is used by the device's application processor to renderthe second subset of always on-related content.

Turning now to a more detailed discussion in conjunction with theattached figures, techniques of the present disclosure are illustratedas being implemented in a suitable environment. The followingdescription is based on embodiments of the disclosed principles andshould not be taken as limiting the claims with regard to alternativeembodiments that are not explicitly described herein. Thus, for example,while FIG. 1 illustrates an example mobile device within whichembodiments of the disclosed principles may be implemented, it will beappreciated that many other devices such as but not limited to laptopcomputers, tablet computers, personal computers, embedded automobilecomputing systems and so on may also be used.

The schematic diagram of FIG. 1 shows an exemplary device 110 formingpart of an environment within which aspects of the present disclosuremay be implemented. In particular, the schematic diagram illustrates auser device 110 including several exemplary components. It will beappreciated that additional or alternative components may be used in agiven implementation depending upon user preference, cost, and otherconsiderations.

In the illustrated embodiment, the components of the user device 110include a display screen 120, applications 130, a processor 140, amemory 150, one or more input components 160 such as speech and textinput facilities, and one or more output components 170 such as text andaudible output facilities, e.g., one or more speakers.

The one or more input components 160 of the device 100 also include atleast one sensor or system that measures or monitors environmentalinformation associated with a current location of the device 100. Theenvironmental information may include, for example, ambient light level,ambient noise level, voice detection or differentiation, movementdetection and differentiation, and so on. Similarly, the device 100 mayalso include a sensor configured for determining location of the devicesuch as a GPS module and associated circuitry and software.

The processor 140 can include any of a microprocessor, microcomputer,application-specific integrated circuit, or the like. For example, theprocessor 140 can be implemented by one or more microprocessors orcontrollers from any desired family or manufacturer. In an embodiment,the processor 140 includes two processors, i.e., a main or applicationprocessor 141 and a low power processor 142. Similarly, the memory 150may reside on the same integrated circuit as the processor 140.Additionally or alternatively, the memory 150 may be accessed via anetwork, e.g., via cloud-based storage. The memory 150 may include arandom access memory (i.e., Synchronous Dynamic Random Access Memory(SDRAM), Dynamic Random Access Memory (DRAM), RAIVIBUS Dynamic RandomAccess Memory (RDRM) or any other type of random access memory device).Additionally or alternatively, the memory 150 may include a read onlymemory (i.e., a hard drive, flash memory or any other desired type ofmemory device).

The information that is stored by the memory 150 can include programcode associated with one or more operating systems or applications aswell as informational data, e.g., program parameters, process data, etc.The operating system and applications are typically implemented viaexecutable instructions stored in a non-transitory computer readablemedium (e.g., memory 150) to control basic functions of the electronicdevice 110. Such functions may include, for example, interaction amongvarious internal components and storage and retrieval of applicationsand data to and from the memory 150.

The illustrated device 110 also includes a network interface module 180to provide wireless communications to and from the device 110. Thenetwork interface module 180 may include multiple communicationsinterfaces, e.g., for cellular, WiFi, broadband and othercommunications. A power supply 190, such as a battery, is included forproviding power to the device 110 and its components. In an embodiment,all or some of the internal components communicate with one another byway of one or more shared or dedicated internal communication links 195,such as an internal bus.

Further with respect to the applications, these typically utilize theoperating system to provide more specific functionality, such as filesystem service and handling of protected and unprotected data stored inthe memory 150. Although many applications may govern standard orrequired functionality of the user device 110, in many casesapplications govern optional or specialized functionality, which can beprovided, in some cases, by third party vendors unrelated to the devicemanufacturer.

Finally, with respect to informational data, e.g., program parametersand process data, this non-executable information can be referenced,manipulated, or written by the operating system or an application. Suchinformational data can include, for example, data that are preprogrammedinto the device during manufacture, data that are created by the device,or any of a variety of types of information that is uploaded to,downloaded from, or otherwise accessed at servers or other devices withwhich the device is in communication during its ongoing operation.

In an embodiment, the device 110 is programmed such that the processor140 and memory 150 interact with the other components of the device 110to perform a variety of functions. The processor 140 may include orimplement various modules and execute programs for initiating differentactivities such as launching an application, transferring data, andtoggling through various graphical user interface objects (e.g.,toggling through various icons that are linked to executableapplications).

As noted above in overview, upon determining the resolution of itsdisplay screen as well as the ambient light level, a mobilecommunication device operating in accordance with an embodiment of thedisclosed principles dynamically configures a specific geometricalpattern of pixels (such as alternate rows of pixels, etc.) to beskipped, as related to the rendering of the first subset of alwayson-related content by the low power microcontroller. Additionally, thesesame criteria can also be used by the device's application processor torender the second subset of always on-related content that iscomplementary to the first subset of always on-related content.

The geometrical pattern of pixels may be periodic and may include anyspecific pattern and period. For example, the geometrical pattern ofpixels may be an equally alternating pattern (e.g., a repeating patternof one on and one off), a ⅔ off pattern (e.g., a repeating pattern ofone on and two off) or a ⅔ on pattern (e.g., a repeating pattern of oneoff two on).

The simplified display pixel row diagram of FIG. 2A shows a display witha screen resolution setting corresponding to a low resolution settingwith high ambient light. The display area 200 includes a number of pixelrows 201. In the illustrated example, in keeping with the low resolutionsetting and high ambient light, all pixel rows 201 are active, and thedisplay is at a low brightness setting.

The display area 200 may represent an entire display or, alternatively,an always-on portion of a larger display. For example, on a devicescreen showing a display such as the simulated display 300 shown in FIG.3, a certain area 301 may be always-on. That is, the always on portionmay be actively updated as data displayed or represented in that area301 changes. Thus, for example, the time of day 302 is an element thatmay be displayed in the always on portion 301 of the display 300.

Returning to the prior figures and in particular FIG. 2B, theillustrated simplified display pixel row diagram of FIG. 2B shows adisplay with a screen resolution setting corresponding to a midrangescreen resolution setting with high ambient light. The display area 200includes a number of pixel rows. In the illustrated example, in keepingwith the midrange screen resolution setting and high ambient light,certain rows of pixels 202 are skipped while other pixel rows 203 areactive. In particular, every other pixel row is skipped. In thisconfiguration, the display brightness setting is higher than in theexample of FIG. 2A.

While FIGS. 2A and 2B show active pixel row patterns for high ambientlight conditions when using low resolution settings and midrangeresolution settings respectively, FIG. 2C shows an active pixel rowpattern for high ambient light conditions when using high resolutionsettings. As compared to the active pixel row pattern of FIG. 2B, anincreased number of rows of pixels are skipped in the active pixel rowpattern of FIG. 2C. In particular, the active pixel row pattern showsonly every third pixel row 204 being active, with all other pixel rows205 being skipped. Moreover, the display brightness setting is higherthan that used in FIG. 2B.

As noted above, treating a portion of the display by strategicallyskipping pixel rows based on resolution and ambient light saves devicepower, which is generally useful and, as noted above, even more usefulfor devices supporting always on screen elements. In an implementationof the disclosed principles, further power savings are generated byusing a low power processor to generate certain display elements andusing the main application processor (high power processor) for selectedtasks.

To better understand the division of roles between the low power andhigh power processors, FIG. 4 is a simplified device hardware schematicof a device 400 usable in accordance with various embodiments of thedescribed principles. As shown, the device 401 (e.g., device 110 of FIG.1 or similar) includes a display screen 405. In the illustrated example,the display screen 405 can be drawn (i.e., specified pixels can bewritten) by one or both of a low power processor 402 and an applicationprocessor (AP) 403, sometimes referred to herein as a high power orhigher power processor.

Each processor 402, 403 has access to a device sensor hub 404, which maycomprise a low power processor or microcontroller or may include aportion of the main application processor core. The device sensor hub404 gathers data related to the device environment, e.g., ambientconditions such as ambient light levels, device location, and so on.Though not shown in the simplified view of FIG. 4, the device includesmany other components that may be accessed and employed by theillustrated processors 402, 403. For example, each processor 402, 403may use memory resources and networking and other communicationsresources.

When the device 401 is in a sleep or other low power mode but hascertain always-on elements displayed, the low power processor 402 anddevice sensor hub 404 are active, and the low power processor 402 isresponsible for a substantial amount of the task of drawing to thedisplay 405. The low power processor 402 is slow relative to theapplication processor 403, and also has a lower level of memoryresources, e.g., flash memory to be used while executing tasks such asdrawing to the display 405.

Nonetheless, during times when the device 401 is asleep or in a lowpower mode, the user may expect a reasonable response time with respectto updated display-drawn elements. For example, if the device is in alow power mode, and the user pulls the device out of his or her pocketto check the time, there is no need to wake the device up. However,there is a need to update the time, and to display the updated time.

Given the high resolution of modern devices such as mobile phones andsmart phones, it is possible to reduce the resolution of the display ora portion thereof in order to save time and device power during redrawwithout visibly detracting from the user experience. In the exampleabove, in the low power mode, only the digits or other indicator of timeneed to be redrawn and thus only the screen portion containing thesepixels would have the pixel row skipping technique applied. In thiscase, skipping pixel rows allows for substantially reduced redraw timesfor frequently updated elements, while at the same time, allowing fullor better resolution if desired for more detailed features

While various methodologies may be employed to implement aspects of thedisclosed principles, the flowchart of FIG. 5 shows an example process500 for updating at least a portion of a device screen with reducedresolution during a sleep mode or other low power mode. In particular,the process 500 allows dynamic configuration of pixel patterns to berendered on a mobile device's display screen based on the displayscreen's resolution setting as well as ambient light conditions.

The process 500 begins at stage 501, wherein the user of the deviceremoves the device from a pocket or otherwise causes the device togenerate an indicator that the user may view the device. At stage 502,the device determines the resolution of its display screen and at stage503 the device detects an ambient light level, e.g., detecting a lowambient light level if the user is in a theater and a high ambient lightlevel if the user is outdoors on a bright day.

Based on the resolution of the device display screen and the detectedambient light level, the device at stage 504 dynamically configures aspecific pattern of pixels (such as alternate rows of pixels, everysecond and third row of pixels, and so on) to be left in an off state(“skipped”) when rendering a first subset of content (always on content)by the low power microcontroller. Alternatively, the skipped pixels maybe left active but not updated.

At stage 505 of the process 500, the device low power processor drawsthe first subset of content to the display. At stage 506, which mayoccur at any time after the execution of stage 504 to establish thespecific pattern of pixels, the device application processor uses thespecific pixel pattern prescribed in stage 504 to render the secondsubset of always-on content that is complementary to the first subset ofalways on-related content. By complementary, it is meant that the firstand second subsets of always-on content, taken together, encompasssubstantially all content to be displayed in the always-on mode.

The low power processor and application processor are generally capableof operating independently. However, in an embodiment of the disclosedprinciples, the execution of pixel rendering as in process 500 issynchronized between the low power processor and the applicationprocessor.

Moreover, the low power processor may utilize additional resources otherthan the application processor to execute the actual pixel rendering inaccordance with the specific pattern that the low power processorgenerated. Thus, for example, in an embodiment, the low power processoraccesses the system kernel and directs it to draw certain displayelements, e.g., a clock face. To efficiently utilize the kernelresources in this manner, the low power processor takes steps to ensurethat the kernel is following the same order and phase as the low powerprocessor with respect to row skipping.

The flowchart of FIG. 6 shows a process 600 executed by the low powerprocessor to ensure proper period and phase. At stage 601 of the process600, the low power processor configures the kernel to skip pixel rows ata period matching the selected pixel skipping pattern. At this point,the skipping patterns of the low power processor and the kernel may beidentical but out of phase. Thus, at stage 602, the low power processorcalculates an offset such that the first pixel row drawn by the kernelcoincides with the first pixel row drawn by the low power processor.

At stage 603 of the process 600, the low power processor sends thecalculated offset to the kernel, and at stage 604, the kernel and lowpower processor draw the associated content to the display.

In a further embodiment of the disclosed principles, the low powerprocessor is configured to guard against screen burn-in while displayingalways on content. It will be appreciated that with respect to manytypes of displays, the physical display elements can exhibit changes inappearance related to the amount of on time and intensity during that ontime.

This change in appearance typically becomes visible where fixed imageelements are displayed, e.g., a clock frame, one or more fixed clockface numerals, a numerical clock minute/hour separator, date-separatingslashes or dashes and so on. Thus, in an embodiment, the low powerprocessor is configured to periodically change the phase of the pixelrow skipping process, e.g., by starting with a skipped row rather thanan active row, shifting the phase by one row every predetermined period,or otherwise.

When using additional system resources such as kernel resources,however, it is difficult for the low power processor to directly imposethis shift. The low power processor may in effect cause such a shiftwithout changing the pixel pattern executed by the kernel by indexingthe starting row. Thus for example, if the kernel is configured to skipeven rows and the low power processor has moved to skipping odd rows, itcan change the starting row sent to the kernel from odd to even or viceversa to effectuate the same shift.

It will be appreciated from the foregoing that techniques and systemsfor displaying always-on content in a device having a low powerprocessor have been disclosed. In view of the many possible embodimentsto which the principles of the present disclosure may be applied,however, it should be recognized that the embodiments described hereinwith respect to the drawing figures are meant to be illustrative onlyand should not be taken as limiting the scope of the claims. Therefore,the techniques as described herein contemplate all such embodiments asmay come within the scope of the following claims and equivalentsthereof.

We claim:
 1. A method comprising: receiving a triggering event signalingthat content is to be output at a display of a mobile communicationdevice that is operating in a low-power mode; determining a resolutionsetting of the display; determining an ambient light level at the mobilecommunication device; generating, based on the resolution setting of thedisplay and the ambient light level at the mobile communication device,a pattern of display pixels to be skipped during output of the content;and outputting, for display at the display, a first subset of thecontent and a second subset of the content, wherein the first and secondsubsets of the content are each output in accordance with the pattern ofdisplay pixels to be skipped.
 2. The method of claim 1, wherein thefirst subset of the content encompasses all of the content notencompassed in the second subset of the content.
 3. The method of claim1, wherein the content includes static content and dynamic content. 4.The method of claim 3, wherein the first subset of the content includesthe static content and the second subset of the content includes thedynamic content.
 5. The method of claim 1, wherein outputting the firstsubset of the content in accordance with the pattern of display pixelsto be skipped includes instructing a system kernel of the mobilecommunication device to output at least a portion of the first subset ofthe content.
 6. The method of claim 5, wherein instructing the systemkernel to output at least the portion of the first subset of the contentincludes synchronizing a phase and a period of the pattern of displaypixels to be skipped between a low-power processor of the mobilecommunication device and the kernel.
 7. The method of claim 6, whereinsynchronizing the phase and the period of the pattern of display pixelsto be skipped between the low-power processor and the kernel includesproviding an offset value from the low-power processor to the kernel. 8.The method of claim 1, wherein generating the pattern of display pixelsto be skipped comprising generating a pattern of display pixel rows tobe skipped.
 9. The method of claim 8, further comprising generating amodification of the pattern of display pixel rows to be skipped.
 10. Themethod of claim 9, wherein generating the modification of the pattern ofdisplay pixel rows to be skipped comprises offsetting the pattern ofdisplay pixel rows to be skipped by one row.
 11. The method of claim 8,wherein the pattern of display pixel rows to be skipped is periodic andincludes one of an equally alternating pattern, a ⅔ off pattern, or a ⅔on pattern.
 12. The method of claim 8, further comprising changing abrightness setting of the display based on a number of display pixelrows to be skipped.
 13. A system comprising: a light sensor configuredto sense an ambient light level at a mobile communication device; adisplay; one or more processors configured to: while the mobilecommunication device operates in a low-power mode, receive a triggeringevent signaling that the content is to be output at the display;determine a resolution setting of the display; determine an ambientlight level at the mobile communication device using the light sensor;generate, based on the resolution setting and the ambient light level, apattern of display pixels to be skipped during output of the content;and output, for display at the display, a first subset of the contentand a second subset of the content, wherein the first and second subsetsof the content are each output in accordance with the pattern of displaypixels to be skipped.
 14. The system of claim 13, wherein the firstsubset of the content includes static content and the second subset ofthe content includes updated content.
 15. The system of claim 13,wherein the one or more processors are configured to output the firstsubset of the content in accordance with the pattern of display pixelsto be skipped at least by being configured to instruct a system kernelto output at least a portion of the first subset of the content.
 16. Thesystem of claim 15, wherein the one or more processors are configured toinstruct the system kernel to output at least the portion of the firstsubset of the content at least by being configured to synchronize aphase and a period of the pattern of display pixels to be skippedbetween the one or more processors and the kernel.
 17. The system ofclaim 16, wherein the one or more processors are configured tosynchronize the phase and the period of the pattern of display pixels tobe skipped between the one or more processors and the kernel at least bybeing configured to provide an offset value to the kernel.
 18. Thesystem of claim 13, wherein the one or more processors are configured togenerate the pattern of display pixels to be skipped at least by beingconfigured to generate a pattern of display pixel rows to be skipped.19. The system of claim 18, wherein the one or more processors arefurther configured to generate a modification of the pattern of displaypixel rows to be skipped at least by being configured to offset thepattern of display pixel rows to be skipped by one row.
 20. The systemof claim 18, wherein the one or more processors are further configuredto change a brightness setting of the display based on a number ofdisplay pixel rows to be skipped.